/*
 * MODULE  NAME  :
 * PROGRAM NAME  : queue.h
 * AUTHOR        : 
 * CREATE  DATE  : 2015-03-10 14:09:52
 * PROGRAM DESC  :
 *
 * HISTORY       :
 *
 */
#ifndef _H_QUEUE_H_
#define _H_QUEUE_H_
#include "list.h"
#include "type.h"

#define QUEUE_ERR_ARGNULL	-60001	

/****
struct _ListHead {
	struct _ListNode *first;
	struct _ListNode *last;
	struct _ListNode *curr;
	int NodeCnt;
};
****/

typedef struct _ListHead Queue;

Queue* InitQueue();
void FreeQueue(Queue *q);
int IsEmpty(Queue *q);
void ClearQueue(Queue *q);
int GetSize(Queue *q);
int EnQueue(Queue *q, void *data);
void* DeQueue(Queue *q);

#endif
